﻿# CMakeLists.txt
#[[
message(arg arg2 arg3)
]]
cmake_minimum_required(VERSION 3.20)
project(message)
message("参数1")  #测试message
message("参数p1" "参数p2" #[[注释在message中]] "p3" 123 测试)  #测试message

# 2.3 message高级使用-指定日志级别
# 进程提出，生成退出 打印代码路径和行号
# message(FATAL_ERROR "TEST FATAL_ERROR")

# 进程继续，生成退出 不会生成add_executable add_library
# 打印代码路径和行号
message(SEND_ERROR "TEST SEND_ERROR") # stderr
add_executable(test_message test_message.cpp)
message("after ERROR")

# WARNING 打印代码路径和行号
message(WARNING "TEST WARNING") # stderr

# NOTICE等同于 none也就是不加 message("TEST NOTICE")
message(NOTICE "TEST NOTICE")

# STATUS 加前缀 -- 用户可能感兴趣 stdout
message(STATUS "TEST STATUS")

# VERBOSE 默认不显示 用户需要的详细信息 stdout
message(VERBOSE "TEST VERBOSE")

# 设置日志显示级别
# cmake -S . -B build --log-level=VERBOSE

# 标准输出重定向到文件log.txt
# cmake -S . -B build --log-level=VERBOSE >log.txt

# 标准错误输出重定向到标准输出
# cmake -S . -B build --log-level=VERBOSE >log.txt 2>&1

# DEBUG 加前缀 -- 
# cmake -S . -B build --log-level=DEBUG
message(DEBUG "TEST DEBUG")

# TRACE 加前缀 -- 
# cmake -S . -B build --log-level=TRACE
message(TRACE "TEST TRACE")

# 2.4 message Reporting checks查找库日志
#[[
CHECK_START 开始记录将要执行检查的消息
CHECK_PASS 记录检查的成功结果
CHECK_FAIL 记录不成功的检查结果
]]
message("=====================2.4=========================")
# 开始查找
message(CHECK_START "Find xcpp")
# 查找xcpp代码
# message消息缩进
set(CMAKE_MESSAGE_INDENT "  ")

# 嵌套查找
message(CHECK_START "Find xlog")
# 查找xlog代码
message(CHECK_PASS "Success")

message(CHECK_START "Find xthreadpool")
message(CHECK_FAIL "Fail")

set(CMAKE_MESSAGE_INDENT "")
# 结束查找 查找失败
message(CHECK_FAIL "Fail")

